Nonvolatile memory device and program method thereof

ABSTRACT

According to example embodiments of inventive concepts, a nonvolatile memory device includes at least two strings that are vertically stacked on a substrate and share one bit line. A program method of the nonvolatile memory device includes setting a pre-charge condition on the basis of a disturb environment between the at least two cell strings, pre-charging or not pre-charging an unselected cell string among the at least two cell strings in response to the pre-charge condition and programming memory cells in a selected cell string among the at least two cell strings.

CROSS-REFERENCE TO RELATED APPLICATIONS

This U.S. non-provisional patent application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2013-0111389, filed on Sep. 16, 2013, the entire contents of which are hereby incorporated by reference.

BACKGROUND

The present disclose relates to nonvolatile memory devices and/or program methods thereof, and more particularly, to a three-dimensional nonvolatile memory device and/or a program method thereof.

A semiconductor memory device may be a memory device that is embodied using semiconductors such as silicon Si, germanium Ge, gallium arsenide GaAs, indium phosphide InP, etc. A semiconductor memory device may be classified as a volatile memory device or a nonvolatile memory device.

A volatile memory device loses its stored data when its power supply is interrupted. Examples of volatile memory devices include static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), etc. A nonvolatile memory device retains its stored data even when its power supply is interrupted. Examples of nonvolatile memory devices include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), flash memory, phase change RAM (PRAM), magnetic RAM (MRAM), a resistive RAM (RRAM), ferroelectric RAM (FRAM), etc. Flash memory may classified into a NOR type flash memory and a NAND type flash memory.

To increase the integration, a three-dimensional memory having a structure that memory cells are stacked on a substrate is being studied. The three-dimensional memory may have higher integration and lower unit cost aspects compared to a conventional flat-surface type memory. Improving the reliability of three-dimensional memory may be desired.

SUMMARY

Example embodiments of inventive concepts relate to a program method of a nonvolatile memory device.

Example embodiments of inventive concepts also relate to a nonvolatile memory device.

According to example embodiments of inventive concepts, a program method of nonvolatile memory device including at least two cell strings that are vertically stacked on a substrate and share one bit line is disclosed. The program method may include setting a pre-charge condition on the basis of a disturb environment between the at least two cell strings; one of pre-charging an unselected cell string among the at least two cell strings in response to the pre-charge condition, and not pre-charging the unselected cell string among the at least two cell strings in response to the pre-charge condition; and programming memory cells of a selected cell string among the at least two cell strings.

In example embodiments, the one of pre-charging the unselected cell string and not pre-charging the unselected cell string may include the pre-charging the unselected cell string. The pre-charging the unselected cell string may include of adjusting a level of a pre-charge voltage applied to the unselected cell string in response to the pre-charge condition, and adjusting a time of applying the pre-charge voltage to the unselected cell string in response to the pre-charge condition.

In example embodiments, the setting the pre-charge condition may include setting the pre-charge condition in response to a level of a program voltage applied during the programming memory cells of the selected cell string.

In example embodiments, the one of pre-charging the unselected cell string and not pre-charging the unselected cell string may include the pre-charging the unselected cell string if the level of the program voltage is greater than a reference value.

In example embodiments, the pre-charging the unselected cell string may include increasing a level of a pre-charge voltage applied to the unselected cell string as the level of the program voltage becomes greater.

In example embodiments, the setting the pre-charge condition may include setting the pre-charge condition in response to a number of program loops during the programming memory cells of the selected cell string.

In example embodiments, the one of pre-charging the unselected cell string and not pre-charging the unselected cell string may include the pre-charging the unselected cell string if the number of the program loops is greater than a reference value.

In example embodiments, the pre-charging the unselected cell string may include increasing a level of a pre-charge voltage applied to the unselected cell string as the number of the program loops becomes larger.

In example embodiments, the setting the pre-charge condition may include setting the pre-charge condition in response to a program state of data programmed in at least one memory cell of the non-volatile memory device.

In example embodiments, the one of pre-charging the unselected cell string and not pre-charging the unselected cell string may include the pre-charging the unselected cell string if the program state indicates the data has been programmed in at least one memory cell.

In example embodiments, the program method may further include adjusting the pre-charge condition based on a wear environment of the nonvolatile memory.

In example embodiments, the wear environment may include one of a wear level index, a number of memory cells in the at least two string having a threshold voltage higher than a reference threshold voltage, and a number of program/erase cycles.

In example embodiments, the method may further include adjusting the pre-charge condition based on a program mode of the nonvolatile memory.

According to example embodiments of inventive concepts, a nonvolatile memory device may include a memory cell array including at least two cell strings that are vertically stacked on a substrate and share one bit line, wherein each of the cell strings includes a string select transistor, a ground select transistor and a plurality of memory cells serially connected between the string select transistor and the ground select transistor. The nonvolatile memory device may include a control logic configured to control the memory cell array so that a pre-charge condition is set based on a disturb environment between the at least two cell strings. The control logic may be configured to cause an unselected cell string among the at least two cell strings to be pre-charged or not pre-charged in response to the pre-charge condition before programming memory cells included in a selected cell string among the at least two cell strings.

In example embodiments, the controller may be configured to set the pre-charge condition in response to a level of a pre-charge voltage being applied to the unselected cell string or an applying time of the pre-charge voltage to the unselected cell string is adjusted in response to the pre-charge condition.

According to example embodiments, a program method of a nonvolatile memory device including a plurality of cell strings on a substrate, the plurality of cell strings including at least two cell strings connected to a bit line in common, may include: determining a parameter corresponding to a program disturb environment between the at least two cell strings connected to the bit line in common; controlling a pre-charge operation based on whether the parameter is greater than or equal to a threshold value, the controlling the pre-charge operation including one of pre-charging an unselected cell string among the at least two cell strings if the parameter is greater than or equal to the threshold value, and not pre-charging the unselected the unselected cell string among the at least two cell strings if the parameter is less than the threshold value; and programming a selected cell string among the at least two cell strings.

In example embodiments, the plurality of cell strings may be connected to different string select lines respectively, each one of the plurality of cell strings may include a plurality of memory cells vertically stacked on each other between at least one ground select transistor and at least one string select transistor on the substrate, and the pre-charging the selected string among the at least one two cell strings may include providing a supplying voltage to one of the string select lines that is connected to the selected cell string, and providing a pre-charge voltage to the bit line connected in common to the at least two cell strings during the providing the supply voltage to the one of the string select lines connected to the selected cell string.

In example embodiments, the determining the parameter may include determining whether a level of a program voltage to be applied during the programming the selected cell string is greater than or equal to the threshold value.

In example embodiments, the determining the parameter may include determining whether a loop number of the programming the selected cell string is greater than or equal to the threshold value.

In example embodiments, the determining the parameter may include determining whether a number of erase upper cells in the nonvolatile memory device is greater than or equal to the threshold value.

BRIEF DESCRIPTION OF THE FIGURES

The foregoing and other features and advantages of inventive concepts will be apparent from the more particular description of non-limiting embodiments of inventive concepts, as illustrated in the accompanying drawings in which like reference characters refer to like parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating principles of inventive concepts. In the drawings: FIG. 1 is a block diagram illustrating a nonvolatile memory device in accordance with example embodiments of inventive concepts.

FIG. 2 is a circuit diagram of one memory block among the memory blocks of the memory cell array of FIG. 1.

FIG. 3 is a flow chart illustrating a program method according to example embodiments of inventive concepts with respect to the nonvolatile memory device of FIG. 1.

FIG. 4 is a timing diagram illustrating a voltage applied to the memory block of FIG. 2 according to a program operation of FIG. 3 according to example embodiments of inventive concepts.

FIG. 5 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 6 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 7 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 8 is a flow chart illustrating still a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 9 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 10 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 11 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 12 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

FIG. 13 is a block diagram illustrating a memory card system including a nonvolatile memory device according to example embodiments of inventive concepts.

FIG. 14 is a block diagram illustrating a solid state drive (SSD) including a nonvolatile memory device according to example embodiments of inventive concepts.

FIG. 15 is a block diagram of a SSD controller illustrated in FIG. 14.

FIG. 16 is a block diagram illustrating an electronic device including a nonvolatile memory device according to example embodiments of inventive concepts.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Example embodiments will now be described more fully with reference to the accompanying drawings, in which some example embodiments are shown. Example embodiments, may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of example embodiments of inventive concepts to those of ordinary skill in the art. In the drawings, the thicknesses of layers and regions are exaggerated for clarity. Like reference numerals in the drawings denote like elements, and thus their description may be omitted.

It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. As used herein the term “and/or” includes any and all combinations of one or more of the associated listed items. Other words used to describe the relationship between elements or layers should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” “on” versus “directly on”).

It will be understood that, although the terms “first”, “second”, etc. may be used herein to describe various elements, components, regions, layers and/or sections. These elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of example embodiments.

Spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the exemplary term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “includes” and/or “including,” if used herein, specify the presence of stated features, integers, steps, operations, elements and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof. Expressions such as “at least one of,” when preceding a list of elements, modify the entire list of elements and do not modify the individual elements of the list.

Example embodiments are described herein with reference to cross-sectional illustrations that are schematic illustrations of idealized embodiments (and intermediate structures) of example embodiments. As such, variations from the shapes of the illustrations as a result, for example, of manufacturing techniques and/or tolerances, are to be expected. Thus, example embodiments should not be construed as limited to the particular shapes of regions illustrated herein but are to include deviations in shapes that result, for example, from manufacturing. For example, an implanted region illustrated as a rectangle may have rounded or curved features and/or a gradient of implant concentration at its edges rather than a binary change from implanted to non-implanted region. Likewise, a buried region formed by implantation may result in some implantation in the region between the buried region and the surface through which the implantation takes place. Thus, the regions illustrated in the figures are schematic in nature and their shapes are not intended to illustrate the actual shape of a region of a device and are not intended to limit the scope of example embodiments.

Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

Although corresponding plan views and/or perspective views of some cross-sectional view(s) may not be shown, the cross-sectional view(s) of device structures illustrated herein provide support for a plurality of device structures that extend along two different directions as would be illustrated in a plan view, and/or in three different directions as would be illustrated in a perspective view. The two different directions may or may not be orthogonal to each other. The three different directions may include a third direction that may be orthogonal to the two different directions. The plurality of device structures may be integrated in a same electronic device. For example, when a device structure (e.g., a memory cell structure or a transistor structure) is illustrated in a cross-sectional view, an electronic device may include a plurality of the device structures (e.g., memory cell structures or transistor structures), as would be illustrated by a plan view of the electronic device. The plurality of device structures may be arranged in an array and/or in a two-dimensional pattern.

Example embodiments of inventive concepts may be described with reference to a NAND flash memory. However, inventive concepts may be applied to various nonvolatile memory devices such as an electrically erasable and programmable ROM (EEPROM), a NOR flash memory device, a phase change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), a ferroelectric RAM (FRAM), etc.

In addition, a nonvolatile memory device according to example embodiments of inventive concepts may be a charge trap flash (CTF) memory device using an insulating layer such as Si₃N₄, Al₂O₃, HfAlO, HfSiO, etc. as a charge storage layer. A charge trap flash memory device, after a program or erase voltage is applied to perform a program or erase operation, has a transient characteristic that an electron/hole in a charge storage layer is energetically stabilized without an injection/emission of an electron or hole into/from the charge storage layer. However, this is only an illustration and example embodiments of inventive concepts are not limited to a charge trap flash (CTF) memory device.

FIG. 1 is a block diagram illustrating a nonvolatile memory device 100 in accordance with example embodiments of inventive concepts. Referring to FIG. 1, the nonvolatile memory device 100 includes a memory cell array 110, an address decoder 120, a read & write circuit 130 and a control logic & voltage generator 140.

The memory cell array 110 is connected to the address decoder 120 through string select lines SSL, word lines WL and ground select lines GSL. The memory cell array 110 is connected to the read & write circuit 130 through bit lines BL. The memory cell array 110 includes a plurality of memory blocks BLK1˜BLKz. Each memory block may include a plurality of memory cells and a plurality of select transistors. The memory cells may be connected to word lines WL and the select transistors may be connected to string select lines SSL or ground select lines GSL. Memory cells of each memory block can be stacked in a direction perpendicular to a substrate to form a three-dimensional structure. Memory cells of each memory block can store one or more bits.

The address decoder 120 is configured to decode a row address among received addresses. Using the decoded row address, the address decoder 120 selects string select lines SSL, word lines WL and ground select lines GSL. The address decoder 120 receives various voltages from the control logic & voltage generator 140 to transmit the received voltages to selected and unselected string select lines SSL, word lines WL and ground select lines GSL respectively.

The address decoder 120 is configured to decode a column address among received addresses. A decoded column address is transmitted to the read & write circuit 130. The address decoder 120 includes a row decoder, a column decoder, and an address buffer.

The read & write circuit 130 is connected to the memory cell array 110 through bit lines BL and exchanges data with the outside. The read & write circuit 130 operates under the control of the control logic & voltage generator 140. The read & write circuit 130 is configured to receive a decoded column address DCA from the address decoder 120. Using the decoded column address DCA, the read & write circuit 130 selects bit lines BL.

The read & write circuit 130 receives data from the outside to write the received data in the memory cell array 110. The read & write circuit 130 reads data from the memory cell array 110 to transmit the read data to the outside. The read & write circuit 130 can read data from a first storage area of the memory cell array 110 to store the read data in a second storage area of the memory cell array 110. The read & write circuit 130 is configured to perform a copy-back operation.

The read & write circuit 130 includes constituent elements such as a page buffer (or page register), a column select circuit, a data buffer, etc. The read & write circuit 130 may include constituent elements such as sense amplifier, a column select circuit, a data buffer, etc.

The control logic & voltage generator 140 is connected to the address decoder 120 and the read & write circuit 130. The control logic & voltage generator 140 is configured to control the whole operation of the nonvolatile memory device 100. The control logic & voltage generator 140 is configured to generate various voltages that are used in the operation of the nonvolatile memory device 100. The control logic & voltage generator 140 operates in response to a control signal CTRL and a command CMD being transmitted from the outside.

The control logic & voltage generator 140 can pre-charge a program-inhibited unselected cell string to compensate program disturb with respect to program inhibited memory cells.

The control logic & voltage generator 140 can differently set a pre-charge condition (for example, whether it is pre-charged or not, or a level of a pre-charge voltage) depending on a disturb condition. A pre-charge operation of an unselected cell string will be described in further detail with reference to FIGS. 5 through 10.

The nonvolatile memory device 100 can perform a pre-charge operation with respect to an unselected cell string adaptively to a disturb environment using the unselected cell string pre-charge operation described above. The nonvolatile memory device 100 can perform a program operation at an improved speed while limiting (and/or preventing) program disturb using the unselected cell string pre-charge operation.

FIG. 2 is a circuit diagram of one memory block BLKa among the memory blocks BLK1˜BLKz of the memory cell array of FIG. 1.

Referring to FIG. 2, the memory block BLKa includes a plurality of cell strings CS11, CS12, CS21, and CS22. Each cell string includes a string select transistor SST, a ground select transistor GST and memory cells MC1˜MC6. In each cell string, memory cells MC1˜MC6 are serially connected between the string select transistor SST and the ground select transistor GST.

Control gates of ground select transistors GST of the cell strings CS11, CS12, CS21, and CS22 can be connected to a ground select line GSL in common. One ends of the ground select transistors GST may be connected to memory cells MC1 and the other ends may be connected to a common source line CSL in common.

Control gates of memory cells MC1 of the cell strings CS11, CS12, CS21, and CS22 can be connected to a word line WL1 in common. Similarly, control gates of memory cells MC2 can be connected to a word line WL2 in common, control gates of memory cells MC3 can be connected to a word line WL3 in common, control gates of memory cells MC4 can be connected to a word line WL4 in common, control gates of memory cells MC5 can be connected to a word line WL5 in common, and control gates of memory cells MC6 can be connected to a word line WL6 in common.

Control gates of cell strings CS11 and CS12 may be connected to a string select line SSL1. Similarly, control gates of cell strings CS21 and CS22 may be connected to a string select line SSL2.

One ends of string select transistors SST of the cell strings CS11 and CS21 are connected to a bit line BL1 and the other ends are connected to memory cells MC6. One ends of string select transistors SST of the cell strings CS12 and CS22 are connected to a bit line BL2 and the other ends are connected to memory cells MC6.

For explanation purposes, a row, a column and a height may be defined. An extension direction of the string select lines SSL1 and SSL2 may be a row direction. Cell strings CS11 and CS12 are arranged along the row direction to form a first row. Cell strings CS21 and CS22 are arranged along the row direction to form a second row.

An extension direction of the bit lines BL1 and BL2 may be a column direction. Cell strings CS11 and CS21 are arranged along the column direction to form a first column. Cell strings CS12 and CS22 are arranged along the column direction to form a second column.

A direction from the ground select transistors GST toward the string select transistors SST may be a height direction.

The memory cells MC1˜MC6 are arranged along the row and column directions and form a three-dimensional structure stacked along the height direction. Memory cells MC having a same height are connected to one word line WL in common. Memory cells MC having different heights from one another are connected to different word lines WL respectively. String select transistors SST of a same row may be connected to one string select line (SSL1 or SSL2) in common. String select transistors SST of different rows may be connected to different string select lines SSL1 and SSL2 respectively. String select transistors SST of a same column may be connected to a same bit line (BL1 or BL2). String select transistors SST of different columns may be connected to different bit lines BL1 and BL2 respectively.

Each of the memory cells MC1˜MC6 can store at least two bits. That is, the memory cells MC1˜MC6 may be multi-level cells (MCL).

In FIG. 2, the memory block BLKa includes four cell strings CS11, CS12, CS21, and CS22. However, the number of cell strings of the memory block BLKa is not limited. More than two cell strings can be provided along a row direction or a column direction. In FIG. 2, each cell string includes six memory cells MC1˜MC6. However, the number of memory cells of each string is not limited. More than six memory cells can be provided along a height direction in each string. In other words, each string (e.g., CS11) may include more than six memory cells (e.g., MC1) sequentially stacked on each other between at least one ground select transistor and at least one string select transistor. Similarly, each string may include fewer than six memory cells sequentially stacked on each other between at least one ground select transistor and at least one string select transistor.

In FIG. 2, ground select transistors GST are connected to one ground select line GSL in common. However, like the string select transistors SST, a structure of the memory block BLKa may be changed so that ground select transistors GST of a same row are connected to one ground select line in common and ground select transistors GST of different rows are connected to different ground select lines respectively.

In FIG. 2, one string select transistor SST and one ground select transistor GST are provided to each cell string. However, two or more string select transistors SST and/or two or more ground select transistors GST can be provided to each cell string.

At least one of the memory cells MC1˜MC6 of each cell string may be used as a dummy memory cell.

FIG. 3 is a flow chart illustrating a program method according to example embodiments of inventive concepts with respect to the nonvolatile memory device of FIG. 1.

Referring to FIG. 3, in a program method of a nonvolatile memory device according to example embodiments of inventive concepts, since a pre-charge operation with respect to an unselected cell string can be performed adaptively to a disturb environment, a program operation can be performed at an improved speed while program disturb is limited (and/or prevented).

In a operation S110, a disturb environment is determined. In a current program operation, the disturb environment indicates the degree that memory cells of a cell string unselected by a program operation with respect to memory cells of the selected cell string are disturbed.

In example embodiments of inventive concepts, a disturb environment can be determined in various ways. For example, a disturb environment may be determined in response to a level of a program voltage to be provided to memory cells to be programmed. A disturb environment may also be determined in response to the number of current program loops, the degree of a program pass, a wear level index and/or an erase cell threshold voltage.

A pre-charge condition may be set in response to the determined disturb environment. The pre-charge condition indicates a pre-charge condition with respect to channels of unselected cell strings. The pre-charge condition may include, for example, whether a pre-charge operation is performed or not, and/or a level of a pre-charge voltage being applied, etc.

In a operation S120, channels of unselected cell strings are pre-charged by set pre-charge condition.

In example embodiments of inventive concepts, an unselected cell string to be pre-charged with the pre-charge condition may be a cell string that shares a bit line with a selected cell string and is connected a different string select line than the string select line connected to the selected cell string. For example, in the case that a cell string CS22 (refer to FIG. 2) is selected, an unselected cell string to be pre-charged by the pre-charge condition may be a cell string CS12 (refer to FIG. 2). However, this is only an illustration and example embodiments are not limited by the foregoing example.

In example embodiments, a nonvolatile memory device, in response to the set pre-charge condition, can control a pre-charge with respect to channels of unselected cell strings by controlling a level and an applying time of a pre-charge voltage being applied to an unselect bit line connected to an unselected cell string, or omitting a pre-charge operation.

A pre-charge operation with respect to an unselected cell string can be selectively performed depending on a pre-charge condition.

In the operation S110, the nonvolatile memory device determines a disturb environment to set a pre-charge condition so that a pre-charge operation of an unselected cell string is not performed in an environment in which an effect of a program disturb is not great. The nonvolatile memory device can set a pre-charge condition of the operation S110 so that a pre-charge operation is not performed in an environment in which a low program voltage is applied or wear volume of memory cells is low. The nonvolatile memory device can reduce time and resources utilized for a pre-charge operation using a pre-charge operation of a selective unselected cell string bit line.

A level or applying time of a pre-charge voltage being applied to unselect bit lines may be changed depending on a pre-charge condition. The nonvolatile memory device can set a pre-charge condition of the operation S110 so that a high pre-charge voltage is provided in an environment in which a program voltage having a great program disturb effect is applied. The nonvolatile memory device can set a pre-charge condition of the operation S110 so that a pre-charge voltage having more than a desired (and/or alternatively predetermined) value is provided in a loop having more than the desired (and/or alternatively predetermined) number of times.

The nonvolatile memory device can reduce time and resources utilized for a pre-charge operation by controlling a pre-charge voltage being provided to a pre-charge operation of an unselected cell string.

In a operation S130, a program operation is performed on selected memory cells included in a selected cell string.

According to the program operation described above, since a pre-charge operation with respect to an unselected cell string can be performed adaptively to a disturb environment, a program operation can be performed at an improved speed while limiting (and/or preventing) a program disturb.

FIG. 4 is a timing diagram illustrating a voltage applied to the memory block of FIG. 2 according to a program operation of FIG. 3 according to example embodiments of inventive concepts. It is assumed that a cell string CS22 is selected to be programmed. It is assumed that a cell string CS12 that shares a select bit line BL2 with the cell string CS22 but is connected to other string line is pre-charged while a program operation with respect to the cell string CS22 is performed.

A supply voltage VDD is provided to string select lines SSL1 and SSL2. The supply voltage VDD may be a voltage that is greater than or equal to a threshold voltage of one or more string select transistors connected to string lines SSL1 and SSL2, but example embodiments are not limited thereto. A ground voltage GND is applied to a ground select line GSL.

A pre-charge voltage Vpre is provided to a bit line BL2 to perform a pre-charge operation with respect to the unselected cell string CS12. The pre-charge voltage Vpre is provided in response to a pre-charge condition previously determined based on a disturb environment.

For example, as described in FIG. 3, a level or time of the pre-charge voltage Vpre may vary in response to the pre-charge condition. The pre-charge voltage Vpre may be provided in response to the pre-charge condition. In an environment in which the degree of disturb with respect to the unselected cell string CS12 is not high, a pre-charge voltage Vpre applying operation may be omitted.

In response to the provided pre-charge voltage, a channel of the unselected cell string CS12 is pre-charged. After the unselected cell string CS12 is pre-charged, a ground voltage GND is provided to a string select line SSL1 to perform a boosting operation.

After the ground voltage GND is provided to the string select line SSL1, the ground voltage GND is provided to the selected bit line BL2 to program the selected cell string CS22. A program voltage Vpgm is provided to a selected word line and a pass voltage Vpass is provided to unselected word lines.

In a program operation according to example embodiments of inventive concepts, since the unselected cell string is pre-charged, program disturb with respect to memory cells of the unselected cell string can be limited (and/or prevented). Since an unselect cell string pre-charge operation can be performed adaptively to a disturb environment, a program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

FIG. 5 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts. According to the pre-charge condition set operation S110, a pre-charge condition can be set so that a pre-charge operation is selectively performed according to a level of a program voltage to be applied in a program operation.

In a operation S111, a level of a program voltage to be applied in a program operation is determined. A level of a program voltage may be variously determined according to the number of program loops, data to be programmed, etc. As a greater program voltage is applied to a selected cell string, the degree of program disturb with respect to an unselected cell string becomes high.

In a operation S112, the program voltage determined in the operation S111 is compared with a desired (and/or alternatively predetermined) reference value (e.g., threshold value). The reference value may be a value previously designated in a register. The reference value may be set by a user.

If a level of the program voltage is greater than the reference value, in a operation S113, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is performed. If a level of the program voltage is smaller than the reference value, in a operation S114, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is omitted.

According to the pre-charge condition set operation S110 described above, since the pre-charge condition is set so that a pre-charge operation is selectively performed according to a level of a program voltage to be applied in a program operation, the program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

FIG. 6 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts. According to a pre-charge condition set operation S210 of FIG. 6, a pre-charge condition may be set so that a level of a pre-charge level varies according to a level of a program voltage to be applied in a program operation.

In a operation S211, a level of a program voltage to be applied in a program operation is determined. The level of the program voltage may be variously determined according to the number of program loops, data to be programmed, etc. As a greater program voltage is applied to a selected cell string, the degree of program disturb with respect to an unselected cell string becomes high.

In a operation S212, a pre-charge condition is set so that a level of a pre-charge voltage is determined in response to the level of the program voltage determined in the operation S211.

For example, the program voltage can be classified into desired (and/or alternatively predetermined) sections according to the level of the program voltage. The pre-charge voltage can be discretely provided in response to a section to which the program voltage belongs.

According to the pre-charge condition set operation S210 described above, a pre-charge condition is set so that the pre-charge voltage varies according to a level of the pre-charge voltage to be applied in the program operation. According to the pre-charge condition set operation S210, the program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

FIG. 7 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts. According to a pre-charge condition set operation S310 of FIG. 7, a pre-charge condition may be set so that a pre-charge operation is selectively provided according to a level of a program voltage to be applied in a program operation and when the pre-charge operation is performed, a level of a pre-charge voltage varies according to the level of the program voltage.

In a operation S311, a level of a program voltage to be applied in a program operation is determined.

In a operation S312, the level of the program voltage determined in the operation S311 is compared with a desired (and/or alternatively predetermined) reference value. The reference value may be a previously designated value in a resister. The reference value may be set by a user.

If a level of the program voltage is greater than the reference value, in a operation S313, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is performed. If a level of the program voltage is smaller than the reference value, in a operation S314, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is omitted.

In a operation S315, the pre-charge condition is set so that a level of the pre-charge voltage is determined in response to the level of the program voltage determined in the operation S311.

According to the pre-charge condition set operation S310 described above, the pre-charge condition is set so that a pre-charge operation is selectively performed according to the level of the program voltage to be applied in a program operation. In addition, the pre-charge condition may be set so that the level of the pre-charge voltage varies according to the level of the program voltage when the pre-charge operation is performed. According to the pre-charge condition set operation S310, the program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

FIG. 8 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts. According to a pre-charge condition set operation S410 of FIG. 7, a pre-charge operation is selectively provided according to the number of program loops and a pre-charge condition can be set so that a level of a pre-charge voltage varies according to the number of program loops when the pre-charge operation is performed.

In a operation S411, the number of current loops is determined. The larger the number of current loops is, the greater a level of a program voltage being applied to a selected cell string is. That is, as the number of loops is large, the degree of program disturb with respect to an unselected cell string becomes high.

In a operation S412, the number of loops determined in the operation S411 is compared with a desired (and/or alternatively predetermined) reference value. The reference value may be a previously designated value. The reference value may be set by a user.

If the number of loops is greater than the reference value, in a operation S413, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is performed. If the number of loops is smaller than the reference value, in a operation S414, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is omitted.

In a operation S415, a pre-charge condition is set so that a level of a pre-charge voltage is determined in response to the number of loops determined in the operation S411. For example, a pre-charge condition may be set so that as the number of loops becomes greater, a level of a pre-charge voltage increases.

According to the pre-charge condition set operation S410 described above, a pre-charge condition is set so that a pre-charge operation is selectively performed according to the number of program loops. In addition, a pre-charge condition may be set so that a level of a pre-charge voltage varies according to the number of loops when a pre-charge operation is performed. According to the pre-charge condition set operation S410, a program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

FIG. 9 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts. According to a pre-charge condition set operation S510 of FIG. 9, a pre-charge operation is selectively provided depending on whether a desired (and/or alternatively predetermined) program state is passed or not. A pre-charge condition may also be set so that a level of a pre-charge voltage varies according to a current program state to be programmed when a pre-charge operation is performed.

In a operation S511, a recent program state is determined. The higher a threshold voltage indicating a programmed program state is, the higher a level of a program voltage being applied to a selected cell string is. That is, the recent program state may become a reference that determines the degree of program disturb with reference to an unselected cell string.

In a operation S512, it is determined whether a desired (and/or alternatively predetermined) program state is passed, that is, whether a program with respect to the desired (and/or alternatively predetermined) program state is completed.

If a program with respect to the desired (and/or alternatively predetermined) program state is completed, in a operation S513, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is performed. If a program with respect to the desired (and/or alternatively predetermined) program state is not completed, in a operation S514, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is omitted.

In a operation S515, a pre-charge condition is set so that a level of a pre-charge voltage is determined in response to the program state determined in the operation S511. For example, a pre-charge condition may be set so that the higher a threshold voltage indicating a programmed program state is, the higher a level of a pre-charge voltage becomes.

According to the pre-charge condition set operation S510, a pre-charge operation is selectively provided depending on whether a desired (and/or alternatively predetermined) program state is passed or not. A pre-charge condition may also be set so that a level of a pre-charge voltage varies according to a current program state to be programmed when a pre-charge operation is performed. According to the pre-charge condition set operation S510, a program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

FIG. 10 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 according to example embodiments of inventive concepts. According to a pre-charge condition set operation S610 of FIG. 10, a pre-charge operation is selectively provided according to the number of erase upper cells. A pre-charge operation may also be set so that a level of a pre-charge voltage varies according to the number of erase upper cells when the pre-charge operation is performed.

In a operation S611, the number of erase upper cells is determined. The erase upper cell is a cell having a threshold voltage greater than a desired (and/or alternatively predetermined) voltage among erase cells. The number of erase upper cells may become a reference that determines wear volume of a cell string. Since as a cell string wears down, the degree of disturb with respect to the cell string becomes high, the number of erase upper cells may be a reference that determines a disturb environment.

In a operation S612, the number of erase upper cells determined in the operation S611 is compared with a desired (and/or alternatively predetermined) reference value.

If the number of erase upper cells is greater than the reference value, in a operation 613, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is performed. If the number of loops does not reach the reference value, in a operation S614, a pre-charge condition is set so that a pre-charge operation with respect to an unselected cell string is omitted.

In a operation S615, a pre-charge condition is set so that a level of a pre-charge voltage is determined in response to the number of erase upper cells determined in the operation S611. For example, a pre-charge condition may be set so that as the number of erase upper cells becomes greater, a level of a pre-charge voltage increases.

According to the pre-charge condition set operation S610 described above, a pre-charge operation is selectively provided according to the number of erase upper cells. In addition, a pre-charge condition may be set so that a level of a pre-charge voltage varies according to the number of erase upper cells when a pre-charge operation is performed. According to the pre-charge condition set operation S610, a program operation can be performed at an improved speed while limiting (and/or preventing) program disturb.

A pre-charge condition set operation was described with reference to FIGS. 5 through 10 but this is only an illustration. A pre-charge condition set operation in a program operation according to example embodiments of inventive concepts is not limited to the above-discussed examples. For example, a pre-charge condition set operation may be performed by a combination of references suggested in FIGS. 5 through 10. A pre-charge condition may be set so that a pre-charge operation is performed when a desired (and/or alternatively predetermined) program state is passed and a pre-charge voltage is determined in response to the number of current loops. A pre-charge condition may be set so that when a program voltage is greater than a desired (and/or alternatively predetermined) voltage, a pre-charge operation is performed and a pre-charge voltage is determined in response to the program voltage and the number of erase upper cells.

FIG. 11 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments. According to a pre-charge condition set operation S710 of FIG. 11, the pre-charge condition set operation S710 may further include a operation of adjusting a set pre-charge condition with reference to a wear environment.

In a operation S711, a pre-charge condition is set in response to a disturb environment. A pre-charge condition can be set in various methods including the pre-charge condition set methods described in FIGS. 5 through 10.

In a operation S712, a set pre-charge condition is adjusted with reference to a wear environment. The wear environment indicates wear volume of a cell string. The wear environment can be determined with reference to, for example, a wear level index. The wear environment can also be determined with reference to the number of program/erase cycles performed.

A section in which a pre-charge operation is performed and a pre-charge voltage being applied can be adjusted with reference to a wear environment. For example, a pre-charge condition may be adjusted so that a pre-charge operation is performed even in a disturb environment lower than a reference in the case of an environment in which wear volume is serious.

In FIG. 11, the operation S711 and the operation S712 are separately illustrated. However, this is only an illustration and the operations S711 and S712 don't necessarily have to sequentially be performed. For example, when in the operation S711, a pre-charge condition is set in response to a disturb environment, the pre-charge condition may be adjusted with reference to a wear environment to be set.

According to the pre-charge condition set operation S710 described above, a pre-charge condition can be adjusted in response to a wear environment. According to the pre-charge condition set operation S710, a program operation can be performed at an improved speed while limiting (and/or preventing) a program disturb.

FIG. 12 is a flow chart illustrating a pre-charge condition setting operation of FIG. 3 in a program operation according to example embodiments of inventive concepts.

According to a pre-charge condition set operation S810 of FIG. 12, the pre-charge condition set operation S810 may further include a operation of adjusting a set pre-charge condition in response to a program mode.

In a operation S811, a pre-charge condition is set in response to a disturb environment. A pre-charge condition can be set in various methods including the pre-charge condition set methods described in FIGS. 5 through 10.

In a operation S812, a set pre-charge condition is adjusted in response to a program mode. The program mode indicates a mode storing data in memory cells. For example, the program mode may include a single level program mode using memory cells as a single-level memory cell SLC or a multi-level program mode using memory cells as a multi-level memory cell MLC.

A section in which a pre-charge operation is performed and a pre-charge voltage being applied can be adjusted with reference to the program mode. For example, since a multi-level memory cell is sensitive to disturb as compared with a single level memory cell, a pre-charge condition may be adjusted so that a pre-charge operation is performed even in a disturb environment lower than a reference in the case of a multi-level program mode.

In FIG. 12, the operation S811 and the operation S812 are separately illustrated. However, this is only an illustration and the operations S811 and S812 don't necessarily have to sequentially be performed. For example, when in the operation S811, a pre-charge condition is set in response to a disturb environment, the pre-charge condition may be adjusted with reference to a program mode to be set.

According to the pre-charge condition set operation S810 described above, a pre-charge condition can be adjusted in response to a program mode. According to the pre-charge condition set operation S810, a program operation can be performed at an improved speed while limiting (and/or preventing) a program disturb.

FIG. 13 is a block diagram illustrating a memory card system including a nonvolatile memory device according to example embodiments of inventive concepts. A memory card system 1000 includes a host 1100 and a memory card 1200. The host 1100 includes a host controller 1110, a host connection unit 1120 and a DRAM 1130.

The host 1100 writes data in the memory card 1200 or reads data stored in the memory card 1200. The host controller 1110 transmits a command (e.g., a write command), a clock signal CLK generated from a clock generator (not shown) in the host 1100 and data DATA to the memory card 1200 through the host connection unit 1120. The DRAM 1130 is a main memory of the host 1100.

The memory card 1200 includes a card connection unit 1210, a card controller 1220 and a flash memory 1230. The card controller 1220 stores data in the flash memory 1230 in synchronization with a clock signal generated from a clock generator (not shown) in the card controller 1220 in response to a command received through the card connection unit 1210. The flash memory 1230 stores data transmitted from the host 1100. For example, in the case that the host 1100 is a digital camera, the flash memory 1230 stores image data.

The memory card system 1000 can pre-charge a program inhibit unselected cell string to compensate program disturb with respect to program inhibit memory cells of the flash memory 1230. The memory card system 1000 performs a pre-charge operation with respect to an unselected cell string adaptively to a disturb environment to perform a program operation at an improved speed while limiting (and/or preventing) program disturb.

FIG. 14 is a block diagram illustrating a solid state drive (SSD) including a nonvolatile memory device according to example embodiments of inventive concepts. Referring to FIG. 14, a SSD system 2000 includes a host 2100 and a SSD 2200. The host 2100 includes a host interface 2111, a host controller 2120 and a DRAM 2130.

The host 2100 writes data in the SSD 2200 or reads data stored in the SSD 2200. The host controller 2120 transmits a signal SGL such as a command, an address, a control signal, etc. to the SSD 2200 through the host interface 2111. The DRAM 2130 is a main memory of the host 2100.

The SSD 2200 exchanges a signal SGL with the host 2100 through the host interface 2211 and receives power through a power connector 2221. The SSD 2200 may include a plurality of nonvolatile memories 2201˜220 n, a SSD controller 2210 and an auxiliary power supply 2220. The nonvolatile memories 2201˜220 n can be embodied by a PRAM, a MRAM, an ReRAM, a FRAM, etc. besides a NAND flash memory. The nonvolatile memory device according to example embodiments, as described in FIG. 1, may be used as one of the nonvolatile memories 2201˜220 n.

The nonvolatile memories 2201˜220 n are used as a storage medium of the SSD 2200. The nonvolatile memories 2201˜220 n can be connected to a SSD controller 2210 through a plurality of channels CH1˜CHn. One or more nonvolatile memories can be connected to one channel. Nonvolatile memories connected to one channel can be connected to a same data bus.

The SSD controller 2210 exchanges a signal SGL with the host 2100 through the host interface 2211. The signal SGL may include a command, an address, data, etc. The SSD controller 2210 writes data in a corresponding nonvolatile memory device or reads data from a corresponding nonvolatile memory device according to a command of the host 2100.

The auxiliary power supply 2220 is connected to the host 2100 through the power connector 2221. The auxiliary power supply 2220 receives power from the host 2100 to perform a charge operation. The auxiliary power supply 2220 may be located inside the SSD 2200 or outside the SSD 2200. For example, the auxiliary power supply 2220 can be located on a main board to provide an auxiliary power to the SSD 2200.

FIG. 15 is a block diagram illustrating a constitution of a SSD controller illustrated in FIG. 14. Referring to FIG. 15, the SSD controller includes an NVM interface 2211, a host interface 2212, a control unit 2213 and a SRAM 2214.

The NVM interface 2211 scatters data transmitted from a main memory of the host 2100 on respective channels CH1˜CHn. The NVM interface 2211 transmits data read from the nonvolatile memories 2201˜220 n to the host 2100 through the host interface 2212.

The host interface 2212 corresponds to a protocol of the host 2100 to provide an interface with the SSD 2200. The host interface 2212 can communicate with the host 2100 using a universal serial bus (USB), a small computer system interface (SCSI), a PCI express, an ATA, a parallel ATA (PATA), a serial ATA (SATA), a serial attached SCSI (SAS), etc. The host interface 2212 can perform a disk emulation function of supporting so that the host 2100 recognizes the SSD 2200 as a hard disk drive (HDD).

The control unit 2213 analyzes a signal SGL received from the host 2100 to process it. The control unit 2213 controls the host 2100 or the nonvolatile memories 2201˜220 n through the host interface 2212 or the NVM interface 2211. The control unit 2213 controls an operation of the nonvolatile memories 2201˜220 n according to a firmware for driving the SSD 2200.

The SRAM 2214 can be used to drive software (S/W) being used for an efficient management of the nonvolatile memories 2201˜220 n. The SRAM 2214 can store meta data received from a main memory of the host 2100 or stores cache data. In a sudden power off operation, meta data or cache data stored in the SRAM 2214 can be stored in the nonvolatile memories 2201˜220 n using the auxiliary power supply 2220.

Further referring to FIG. 14, the SSD system 2000 can pre-charge a program inhibit unselected cell string to compensate program disturb with respect to program inhibit memory cells of the nonvolatile memories 2201˜220 n. The SSD system 2000 performs a pre-charge operation with respect to an unselected cell string adaptively to a disturb environment to perform a program operation at an improved speed while limiting (and/or preventing) program disturb.

In FIGS. 14 and 15, the SRAM 2214 can be replaced with a nonvolatile memory. The SSD system in accordance with example embodiments of inventive concepts can be embodied so that a nonvolatile memory device such as a flash memory, a PRAM, an RRAM, a MRAM, etc. performs a function of the SRAM 2214.

FIG. 16 is a block diagram illustrating an electronic device including a nonvolatile memory device according to example embodiments of inventive concepts. The electronic device 3000 may be embodied by a personal computer PC or may be embodied by a portable electronic device such as a notebook computer, a cellular phone, a personal digital assistant (PDA), and a camera.

Referring to FIG. 16, the electronic device 3000 includes a memory device 3100, a power supply 3200, an auxiliary power supply 3250, a central processing unit 3300, a DRAM 3400, and a user interface 3500. The memory device 3100 includes a flash memory 3110 and a memory controller 3120. The memory device 3100 can be built in the electronic device 3000. The nonvolatile memory device according to example embodiments, as described in FIG. 1, may be used as flash memory 3110.

As described above, the electronic device 3000 can pre-charge a program inhibit unselected cell string to compensate program disturbance with program inhibit memory cells of the flash memory 3110. The electronic device 3000 performs a pre-charge operation with respect to an unselected cell string adaptively to a disturb environment to perform a program operation at an improved speed while limiting (and/or preventing) program disturb.

It should be understood that example embodiments described herein should be considered in a descriptive sense only and not for purposes of limitation. While some example embodiments have been particularly shown and described, it will be understood by one of ordinary skill in the art that variations in form and detail may be made therein without departing from the spirit and scope of the claims. 

1. A program method of a nonvolatile memory device, the nonvolatile memory device including at least two cell strings that are vertically stacked on a substrate and share one bit line, the program method comprising: setting a pre-charge condition on the basis of a disturb environment between the at least two cell strings; one of pre-charging an unselected cell string among the at least two cell strings in response to the pre-charge condition, and not pre-charging the unselected cell string among the at least two cell strings in response to the pre-charge condition; and programming memory cells of a selected cell string among the at least two cell strings.
 2. The program method of claim 1, wherein the one of pre-charging the unselected cell string and not pre-charging the unselected cell string includes the pre-charging the unselected cell string, and the pre-charging the unselected cell string includes one of adjusting a level of a pre-charge voltage applied to the unselected cell string in response to the pre-charge condition, and adjusting a time of applying the pre-charge voltage to the unselected cell string in response to the pre-charge condition.
 3. The program method of claim 1, wherein the setting the pre-charge condition includes setting the pre-charge condition in response to a level of a program voltage applied during the programming memory cells of the selected cell string.
 4. The program method of claim 3, wherein the one of pre-charging the unselected cell string and not pre-charging the unselected cell string includes the pre-charging the unselected cell string if the level of the program voltage is greater than a reference value.
 5. The program method of claim 4, wherein the pre-charging the unselected cell string includes increasing a level of a pre-charge voltage applied to the unselected cell string as the level of the program voltage becomes greater.
 6. The program method of claim 1, wherein the setting the pre-charge condition includes setting the pre-charge condition in response to a number of program loops during the programming memory cells of the selected cell string.
 7. The program method of claim 6, wherein the one of pre-charging the unselected cell string and not pre-charging the unselected cell string includes the pre-charging the unselected cell string if the number of the program loops is greater than a reference value.
 8. The program method of claim 7, wherein the pre-charging the unselected cell string includes increasing a level of a pre-charge voltage applied to the unselected cell string as the number of the program loops becomes larger.
 9. The program method of claim 1, wherein the setting the pre-charge condition includes setting the pre-charge condition in response to a program state of data programmed in at least one memory cell of the non-volatile memory device.
 10. The program method of claim 9, wherein the one of pre-charging the unselected cell string and not pre-charging the unselected cell string includes the pre-charging the unselected cell string if the program state indicates the data has been programmed in the least one memory cell.
 11. The program method of claim 1, further comprising: adjusting the pre-charge condition based on a wear environment of the nonvolatile memory.
 12. The program method of claim 11, wherein the wear environment includes one of a wear level index, a number of memory cells in the at least two strings having a threshold voltage higher than a reference threshold voltage, and a number of program/erase cycles.
 13. The program method of claim 1, further comprising: adjusting the pre-charge condition based on a program mode of the nonvolatile memory. 14.-15. (canceled)
 16. A program method of a nonvolatile memory device including a plurality of cell strings on a substrate, the plurality of cell strings including at least two cell strings connected to a bit line in common, the program method comprising: determining a parameter corresponding to a program disturb environment between the at least two cell strings connected to the bit line in common; controlling a pre-charging operation based on whether the parameter is greater than or equal to a threshold value, the controlling the pre-charge operation including one of pre-charging an unselected cell string among the at least two cell strings if the parameter is greater than or equal to the threshold value, and not pre-charging the unselected cell string among the at least two cell strings if the parameter is less than the threshold value; and programming a selected cell string among the at least two cell strings.
 17. The program method of claim 1, wherein the plurality of strings are connected to different string select lines respectively, each one of the plurality of cell strings include a plurality of memory cells vertically stacked on each other between at least one ground select transistor and at least one string select transistor on the substrate, and the pre-charging the selected string among the at least two cell strings includes, providing a supply voltage to one of the string select lines that is connected to the selected cell string, and providing a pre-charge voltage the bit line connected in common to the at least two cell strings during the providing the supply voltage to the one of the string select lines connected to the selected cell string.
 18. The program method of claim 1, wherein the determining the parameter includes determining whether a level of a program voltage to be applied during the programming the selected cell string is greater than or equal to the threshold value.
 19. The program method of claim 1, wherein the determining the parameter includes determining whether a loop number of the programming the selected cell string is greater than or equal to the threshold value.
 20. The program method of claim 1, wherein the determining the parameter includes determining whether a number of erase upper cells in the nonvolatile memory device is greater than or equal to the threshold value. 